#include <iostream>

class A {
    public:
    int c;
    A(int a =1 , int b = 1, int c = 1) : a(a), b(b), c(c) {}
    void printHello() {
        std::cout << "Hello World!" << std::endl;
    }
    virtual void print_any() {
        std::cout << "You can override me" << std::endl;
    }
    virtual void print_a() = 0;
    private:
    int a;
    int b;
};

class B :public A {
    public:
    int d;
    B() {
        d = A::c;
    }
    void print_any() override {
        std::cout << "I have override it!" << std::endl;
    }

    void print_a() override {
        std::cout << "UP你好，赤大份去吧！" << std::endl;
    }

};

int main() {
    B b;
    b.printHello();
    b.print_any();
    b.print_a();
    return 0;
}